#include "btform.h"
#include "ui_btform.h"

btForm::btForm(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::btForm)
{
    ui->setupUi(this);

    ui->lineBox->hide();
    // 右侧动画效果
    line1Animal = new QPropertyAnimation(ui->line1,"geometry",this);
    line1Animal->setDuration(1500);
    line1Animal->setKeyValueAt(0,QRect(2,30,2,0));  // 起
    line1Animal->setKeyValueAt(0.5,QRect(2,0,2,30));  // 中
    line1Animal->setKeyValueAt(1,QRect(2,30,2,0));  // 终
    line1Animal->setLoopCount(-1); // 设置循环次数 无限
    line1Animal->start(); // 开启动画

    line2Animal = new QPropertyAnimation(ui->line2,"geometry",this);
    line2Animal->setDuration(1600);
    line2Animal->setKeyValueAt(0,QRect(8,30,2,0));  // 起
    line2Animal->setKeyValueAt(0.5,QRect(8,0,2,30));  // 中
    line2Animal->setKeyValueAt(1,QRect(8,30,2,0));  // 终
    line2Animal->setLoopCount(-1); // 设置循环次数 无限
    line2Animal->start(); // 开启动画

    line3Animal = new QPropertyAnimation(ui->line3,"geometry",this);
    line3Animal->setDuration(1700);
    line3Animal->setKeyValueAt(0,QRect(14,30,2,0));  // 起
    line3Animal->setKeyValueAt(0.5,QRect(14,0,2,30));  // 中
    line3Animal->setKeyValueAt(1,QRect(14,30,2,0));  // 终
    line3Animal->setLoopCount(-1); // 设置循环次数 无限
    line3Animal->start(); // 开启动画

    line4Animal = new QPropertyAnimation(ui->line4,"geometry",this);
    line4Animal->setDuration(1800);
    line4Animal->setKeyValueAt(0,QRect(20,30,2,0));  // 起
    line4Animal->setKeyValueAt(0.5,QRect(20,0,2,30));  // 中
    line4Animal->setKeyValueAt(1,QRect(20,30,2,0));  // 终
    line4Animal->setLoopCount(-1); // 设置循环次数 无限
    line4Animal->start(); // 开启动画
}

btForm::~btForm()
{
    delete ui;
}

void btForm::setIconandText(const QString &btIcon, const QString &btText,int pageId)
{
    // 设置按钮图标
    ui->btIcon->setPixmap(QPixmap(btIcon));
    // 设置文本信息
    ui->btText->setText(btText);
    //将按钮和Page页面进行关联
    this->pageId = pageId;
}

int btForm::getPageId() const
{
    return pageId;
}

void btForm::clearBackground()
{
    // 清除背景颜色
    ui->btIcon->setStyleSheet("#btIcon:hover{ background:#D8D8D8;} ");
    ui->btText->setStyleSheet("#btText:hover{ background:#D8D8D8;} ");
    ui->lineBox->setStyleSheet("#lineBox:hover{ background:#D8D8D8;} ");
    ui->btStyle->setStyleSheet("#btStyle:hover{ background:#D8D8D8;} ");

}

void btForm::FirstShow(bool isShow)
{
    if(isShow)
    {
        ui->lineBox->show();
    }
    else
    {
        ui->lineBox->hide();
    }
}


void btForm::mousePressEvent(QMouseEvent *event)
{
    (void)event;
    // 用户点击后1.改变样式 2.发送换页信号
    ui->btIcon->setStyleSheet("#btIcon{background-color: rgb(30, 206, 154);}");
    ui->btText->setStyleSheet("#btText{background-color: rgb(30, 206, 154);}");
    ui->lineBox->setStyleSheet("#lineBox{background-color: rgb(30, 206, 154);}");
    ui->btStyle->setStyleSheet("#btStyle{background-color: rgb(30, 206, 154);}");

    emit btClick(pageId);


}
